package com.simulation.web.mapper;

import com.simulation.web.domain.TechTeams;
import com.simulation.web.vo.TechTeamVO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface TeamMapper {

    /**
     * 新建团队
     *
     * @param team 新建的团队
     * @return 返回影响行数
     */
    int insert(@Param("team") TechTeams team);

    /**
     * 删除团队
     *
     * @param id 待删除的团队ID
     * @return 返回影响行数
     */
    int delete(@Param("id") Long id);

    /**
     * 查询指定用户的所有团队
     *
     * @param createUserId 创建人ID
     * @return 返回团队列表
     */
    List<TechTeamVO> getTeamsByLeaderId(@Param("createUserId") Long createUserId);

    /**
     * 查询指定团队ID的团队详情
     *
     * @param id 团队ID
     * @return 返回团队详情
     */
    TechTeamVO getTeamById(@Param("id") Long id);

    /**
     * 更新团队
     *
     * @param team 更新的团队
     * @return 返回影响行数
     */
    int update(TechTeams team);

    /**
     * 根据团队编码获取团队
     * @param teamCode
     * @return
     */
    TechTeamVO getTeamByTeamCode(@Param("teamCode") String teamCode);

    /**
     *
     * @param userId
     * @return
     */
    List<TechTeamVO> getTeamByTeamUserId(@Param("userId") Long userId);
}